Package delivery system

ABSTRACT

A package delivery system includes a package delivery computing system having a server with a processor and a server storage device. Driver cell phones includes a first driver cell phone. The first driver cell phone has a driver cell phone camera, a GPS receiver and a wireless data transceiver. The GPS receiver receives a first driver GPS location and transmits it to the server. A machine readable code is affixed to a first package that corresponds to a package #1 ID, a package #1 destination latitude GPS coordinate, a package #1 destination longitude GPS coordinate, and a package #1 size unit on the server storage device. The driver cell phone is configured to read the machine readable code via the driver cell phone camera and the driver cell phone communicates with the server over a network.

This application claims priority from earlier filed provisional application No. 62/854,187 entitled Package Delivery System by same inventor Samuel Chen, the disclosure of which is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention is in the field of the package delivery systems, more specifically, a GPS enabled package delivery system.

BACKGROUND

Since GPS was commercially implemented, a variety of different package delivery services have been optimized using GPS data. A wide variety of United States patents describes GPS data optimization of package delivery systems by courier, unmanned aerial drone, and other delivery vehicles.

For example, in the United States patent number U.S. Pat. No. 7,481,740B2, Geo-Proximity Vehicle Alert And Access System For Security And Package Exchange Efficiency by inventor Seval Oz, published Nov. 21, 2017 the abstract discloses, “The cloud based server is configured to receive both current GPS coordinates of a package carrier's vehicle and current GPS coordinates of a target vehicle for at least one of package delivery to the target vehicle and package pick up from the target vehicle. The cloud based server is configured to send to the target vehicle the commands to wake-up an on-board telematics module, to give an alert, to unlock the target vehicle, and to lock the target vehicle after receiving a confirmation of the package exchange process.”

For example, in the U.S. Pat. No. 9,904,900, Systems And Methods For On-Demand Transportation by inventor Raymond Cao, published Feb. 27, 2018 the abstract discloses, “Systems and methods relating to one or more ride-sharing vehicles, each having a driver mobile device in the vehicle to receive a ride-sharing request from one or more riders. The system includes a server coupled to the mobile device, wherein the server receives a group purchase of rides, the server determining first and second riders interested in purchasing rides and establishing a customer-defined group identity with the first and second rider being group members receiving a benefit, and wherein the one or more ride-sharing vehicles provides one or more rides by the first and second customer using the group identity.”

For example, in the U.S. Pat. No. 9,494,937, Method And System For Drone Deliveries To Vehicles In Route by inventor Robert S. Siegel, published Nov. 15, 2016 the abstract discloses, “A computing device with a memory and a processor may be configured to communicatively connect with the server, process the vehicle information and the drone information, identify a plurality of pickup locations based in part on the vehicle information and drone information, select at least one of the plurality of pickup locations based in part on a priority score associated with a travel time to or wait time for each of the plurality of pickup locations, and update the drone route based in part on the selected pickup location.”

For example, in the United States patent number U.S. Ser. No. 10/157,436, System For Navigating Vehicles Associated With A Delivery Service by inventor Ofer Samocha, published Dec. 18, 2018 the abstract discloses, “Particular embodiments described herein provide for a communication system that can be configured to receive a desired arrival time for a package to arrive at a destination, determine a location of the package, determine a route to the destination, and determine a pickup time to pick up the package. The pickup time can be at least partially based on the desired arrival time and a time to travel along the route. In an example, the package is a passenger and the communication system can involve a transportation or delivery service.”

For example, in the U.S. Pat. No. 9,244,147, Automated Package Delivery To A Delivery Receptacle by inventor Varun Soundararajan, published Jan. 26, 2016 the abstract discloses, “Improving automated package delivery to mobile delivery receptacles to allow accurate and reliable package deliveries comprises a delivery receptacle for an automated package delivery via an unmanned aerial delivery device . . . . The aerial delivery device deposits the package in the delivery receptacle. After receiving the package, the delivery receptacle transports the package to a secure location, such as into a garage.”

For example, in the U.S. Pat. No. 9,786,141, Package Delivery Notification And Protection Device, System And Method by inventor Michael W. Grabham, published Oct. 10, 2017 the abstract discloses, “A package delivery notification and protection device includes a package sensor including a placement surface. The package sensor is configured to generate a sensor signal indicating whether a package has been placed on or removed from the placement surface. Wireless communications circuitry is configured to communicate over a wireless network and processing circuitry is coupled to the package sensor and to the wireless communications circuitry to communicate over the wireless network.”

For example, in the U.S. Pat. No. 9,915,956, Package Delivery By means Of An Automated Multi-Copter UAS/UAV Dispatched From A Conventional Delivery Vehicle by inventor Elliot T. Bokeno, published Mar. 13, 2018 the abstract discloses, “Methods and associated systems for autonomous package delivery utilize a UAS/UAV, an infrared positioning senor, and a docking station integrated with a package delivery vehicle . . . . The UAS/UAV autonomously returns to the delivery vehicle by means of GPS navigation and precision sensors. The UAS/UAV autonomously docks with the delivery vehicle for recharging and preparation for the next delivery sequence.”

For example, in the U.S. Pat. No. 9,809,305, Landing Of Unmanned Aerial Vehicles On Transportation Vehicles For Transport by inventor Daniel Buchmueller, published Nov. 7, 2017 the abstract discloses, “Unmanned aerial vehicles (“UAVs”) which fly to destinations (e.g., for delivering items) may land on transportation vehicles (e.g., delivery trucks, etc.) for temporary transport . . . . The routes of the transportation vehicles may be known and utilized to determine locations where UAVs will land on and take off from the transportation vehicles, and in cases of emergencies (e.g., due to low batteries, mechanical issues, etc.) the UAVs may land on the transportation vehicles for later retrieval.”

For example, in the U.S. Pat. No. 9,582,485, Authoring And Delivering Wrap Packages Of Cards With Custom Content To Target Individuals by inventor Eric H. Greenberg, published Feb. 28, 2017 the abstract discloses, “A method for using analytics to define and deliver wrap packages of cards with insight content. The method includes the steps of generating insight content by applying analytics to a set of data, inserting or associating the insight content into one or more content component container(s) included in a set of cards of a wrap package, and generating a wrap descriptor for the wrap package.”

For example, in the U.S. Pat. No. 9,833,097, Smart Postal Box In Support Of Autonomous Delivery Nodes by inventor Charles Calvin Byers, published Dec. 5, 2017 the abstract discloses, “In one embodiment, a controller determines a particular compartment of a smart postal box in which a package is to be delivered. The controller associates the particular compartment with an authorized entity. The controller provides the authorized entity access to the particular compartment by aligning rolling doors of the smart postal box with the particular compartment.”

For example, in the U.S. Pat. No. 9,286,591, System And Method For Shipping, Delivery, Manifesting, And Returns by inventor Shawn Lehner, published Mar. 15, 2016 the abstract discloses, “A preferred embodiment of a version of the invention is directed to a system that streamlines and manages the process of managing shipments, deliveries, returns, customers and manifesting. A preferred implementation comprises a system that is based on user's being grouped with specific customers and each specific customer's information being grouped separately from other customers in the system. Preferably, the system comprises permission levels for granting user's access to specific customer information. Permission levels may grant users access to customer specific or system wide information. A preferred implementation further comprises a system for creating manifests and a mobile manifest application.”

For example, in the U.S. Pat. No. 9,792,576, Operating A Plurality Of Drones and Trucks In Package Delivery by inventor Hani T. Jamjoom, published Oct. 17, 2017 the abstract discloses, “Controlling drones and vehicles in package delivery, in one aspect, may include routing a delivery vehicle loaded with packages to a dropoff location based on executing on a hardware processor a spatial clustering of package destinations. A set of drones may be dispatched. A drone-to-package assignment is determined for the drones and the packages in the delivery vehicle. The drone is controlled to travel from the vehicle's dropoff location to transport the assigned package to a destination point and return to the dropoff location to meet the vehicle. The delivery vehicle may be alerted to speed up or slow down to meet the drone at the return location, for example, without the delivery vehicle having to stop and wait at the dropoff location while the drone is making its delivery.”

For example, in the U.S. Pat. No. 9,835,465, Method For Operating An Autonomous Vehicle On A Courier Route by inventor Frederic Stefan, published Dec. 5, 2017 the abstract discloses, “A method for operating a motor vehicle when the driver thereof needs to accomplish a series of tasks (such as delivery and/or pick-up of items) along a route that each require the driver to park the motor vehicle, to leave it and to cover certain distances on foot.”

For example, in the United States patent number U.S. Pat. No. 9,902,310B2, System and Method For Identification Of Transport Vehicles and Drivers by inventor Thomas J. Fournier, published Feb. 27, 2018 the abstract discloses, “A notice may then be transmitted to a potential passenger or package owner to notify the individual that the vehicle is an authentic, authorized vehicle for transport service. Driver identification information may additionally be obtained for comparison to driver identification authentication information retained by the SPO. Notification may thus also be transmitted to the potential passenger or package owner that the driver is the authorized, registered driver.”

For example, in the United States patent number U.S. Ser. No. 10/089,857B2, Apparatus And Method For Providing Audio Delivery Notification With A Doorbell by inventor Michael D. Atchley, published Oct. 2, 2018 the abstract discloses, “Systems, apparatuses, and methods are provided herein for providing audio notification. A system for providing audio notification comprises a communication device configured to communicate with a delivery arrival detection system, a doorbell coupler configured to couple to a stationary doorbell device, and a control circuit coupled to the communication device and the doorbell coupler. The control circuit being configured to receive a delivery notification from the delivery arrival detection system via the communication device and cause the stationary doorbell device to produce an audible sound via the doorbell coupler.

For example, in the United States patent number U.S. Ser. No. 10/268,982B2, Carrier And Shipper Interfacing And Shipment Tracking Framework For Efficient Scheduling And Transportation Of Cargo, With Security Monitoring And Efficient Payment To Carriers by inventor Robert Clarke, published Apr. 23, 2019 the abstract discloses, “A method, system, and computer program product provides efficient matching of shipments with carriers and real time online tracking of shipments. The method includes receiving a carrier input that includes a desired end destination of an equipment of the carrier, and a processor locating at least one available shipment having one of (i) a shipment pick-up point within a pre-established, shipment pick-up zone and (ii) a shipment delivery point within an acceptable shipment drop-off zone of the desired end destination. The processor dynamically determines and maps an optimal route and generates and displays an available shipment (AV) user interface (UI), with a complete route for the equipment from a desired starting point to the desired end destination. The processor then calculates and provides, via the AV UI, an opportunity cost of the shipment, based in part on a total number of empty miles associated with the route.” The above prior art patent references are incorporated herein by reference.

SUMMARY OF THE INVENTION

A package delivery system includes a package delivery computing system having a server with a processor and a server storage device. Driver cell phones includes a first driver cell phone. The first driver cell phone has a driver cell phone camera, a GPS receiver and a wireless data transceiver. The GPS receiver receives a first driver GPS location and transmits it to the server. A machine readable code is affixed to a first package that corresponds to a package #1 ID, a package #1 destination latitude GPS coordinate, a package #1 destination longitude GPS coordinate, and a package #1 size unit on the server storage device. The driver cell phone is configured to read the machine readable code via the driver cell phone camera and the driver cell phone communicates with the server over a network.

A hub coordinate is defined on the package delivery computing system. A driver array is stored on the server storage device. The driver array corresponds to the first driver cell phone and includes a driver ID, a driver longitude GPS coordinate, and a driver latitude GPS coordinate received from the first driver GPS location. The storage device further includes a database, and stores at least one driver array which includes: a driver id, a driver longitude GPS coordinate, and a driver latitude GPS coordinate. The driver array further includes: a package #2 id, a package #2 destination latitude GPS coordinate, a package #2 destination longitude GPS coordinate, a package #2 size unit, a package #3 id, a package #3 destination latitude GPS coordinate, a package #3 destination longitude GPS coordinate and a package #3 size unit.

The package delivery system is configured with a selection area. The server selects the first driver cell phone when the server receives a first driver GPS location from the first driver cell phone that is in the selection area. The package delivery computing system calculates a package delivery centroid from a group of packages and compares the package delivery centroid to a driver registered address for matching a driver to a group of packages to make a job. The server then transmits the job to the first driver cell phone. The driver cell phones include a second driver cell phone. The package delivery computing system is configured to arrange a package transfer of packages from a first driver cell phone location to a second driver cell phone location.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a driver array showing driver details and including GPS data.

FIG. 2 is a diagram of the network implementation of the present invention.

FIG. 3 is a physical layout diagram of the present invention where the lookup table suggests to deliver to directly.

FIG. 4 is a physical layout diagram of the present invention where the lookup table suggests to deliver to the hub.

FIG. 5 is a diagram of the hub array showing hub details and including GPS data.

FIG. 6 is a diagram of a database array.

FIG. 7 is a detailed network implementation diagram.

FIG. 8 is a diagram of a hub geographic region sorting module.

FIG. 9 is a diagram of a long-distance versus short distance automatic sorting module.

FIG. 10 is a diagram of a delivery from a hub.

FIG. 11 is diagram of a driver cell phone with a driver screen shot showing the driver web application.

FIG. 12 is diagram of a driver cell phone with a driver screen shot showing the locator selection.

FIG. 13 is diagram of a driver cell phone with a driver screen shot showing the local and long-distance job displays.

FIG. 14 is diagram of a driver cell phone with a driver screen shot showing the local job menu tab that expands to the local job menu list when selected.

FIG. 15 is diagram of a driver cell phone with a driver screen shot showing the local job menu list.

FIG. 16 is diagram of a driver cell phone with a driver screen shot showing driver acceptance of a job.

FIG. 17 is diagram of a driver cell phone with a driver screen shot showing a route map for the job that the driver accepted.

FIG. 18 is diagram of a driver cell phone with a driver screen shot showing route options.

FIG. 19 is diagram of a driver cell phone with a driver screen shot showing job details.

FIG. 20 is diagram of a driver cell phone with a driver screen shot showing selection of a long-distance job.

FIG. 21 is diagram of a driver cell phone with a driver screen shot showing a long-distance Portland to Seattle trip.

FIG. 22 is diagram of a driver cell phone with a driver screen shot showing available jobs for a long-distance Portland to Seattle trip.

FIG. 23 is diagram of a driver cell phone with a driver screen shot showing selection of a four box delivery job for a Portland to Seattle trip.

FIG. 24 is diagram of a driver cell phone with a driver screen shot showing a navigation for delivery to a waypoint such as a hub.

FIG. 25 is diagram of a driver cell phone with a driver screen shot showing navigation instructions to a waypoint such as a hub.

FIG. 26 is diagram of a driver cell phone with a driver screen shot showing job details of the long-distance delivery.

FIG. 27 is diagram of a driver cell phone with a driver screen shot showing the package pickup verification panel.

FIG. 28 is diagram of a driver cell phone with a driver screen shot showing the long-distance delivery map.

FIG. 29 is diagram of a driver cell phone with a driver screen shot showing a proposed route map for delivery.

FIG. 30 is diagram of a driver cell phone with a driver screen shot showing a drop of completion notice for a long-distance delivery.

FIG. 31 is diagram of a driver cell phone with a driver screen shot showing a job completion notice for a long-distance delivery.

FIG. 32 is diagram of a driver cell phone with a driver screen shot showing a route map for reaching a hub.

FIG. 33 is diagram of a driver cell phone with a driver screen shot showing an arrival pickup confirmation screen.

FIG. 34 is diagram of a driver cell phone with a driver screen shot showing a scan graphical interface.

FIG. 35 is diagram of a driver cell phone with a driver screen shot showing a drop off delivery confirmation menu.

FIG. 36 is diagram of a driver cell phone with a driver screen shot showing a photography interface.

FIG. 37 is diagram of a driver cell phone with a driver screen shot showing the photography interface.

FIG. 38 is diagram of a driver cell phone with a driver screen shot showing a delivery completion screen.

FIG. 39 is diagram of a driver cell phone with a driver screen shot showing a job completion notice for a long-distance trip.

FIG. 40 is diagram of a driver cell phone with a driver screen shot showing a signature and delivery rating interface.

FIG. 41 is diagram of a driver cell phone with a driver screen shot showing a store credit.

FIG. 42 is diagram of a driver cell phone with a driver screen shot showing a redeemed store credit.

FIG. 43 is a flow chart diagram of the driver to driver handoff procedure.

FIG. 44 is a graphical quadrant diagram.

The following call out list of elements can be a useful guide in referencing the elements of the drawings.

-   20 Driver Array -   21 Driver ID -   22 Driver Longitude GPS Coordinate -   23 Driver Latitude GPS Coordinate -   24 Package #1 ID -   25 Package #1 Destination Latitude GPS Coordinate -   26 Package #1 Destination Longitude GPS Coordinate -   27 Package #1 Size Unit -   28 Package #2 ID -   29 Package #2 Destination Latitude GPS Coordinate -   30 Package #2 Destination Longitude GPS Coordinate -   31 Package #2 Size Unit -   32 Package #3 ID -   33 Package #3 Destination Latitude GPS Coordinate -   34 Package #3 Destination Longitude GPS Coordinate -   35 Package #3 Size Unit -   36 Package #n ID -   37 Package #n Destination Latitude GPS Coordinate -   38 Package #n Destination Longitude GPS Coordinate -   39 Package #n Size Unit -   40 Package Delivery Centroid -   41 Average of Package Destination Latitude GPS Coordinate -   42 Average of Package Destination Longitude GPS Coordinate -   44 Hub Nearest Centroid Latitude GPS Coordinate -   45 Hub Nearest Centroid Longitude GPS Coordinate -   46 Distance Between Hub And Driver -   47 Distance Between Driver And Package Delivery Centroid -   48 Distance From Hub To Centroid -   49 Customer Cell Phone -   50 Network -   51 Driver Cell Phone -   52 Hub Cell Phone -   53 Server -   54 Driver Cell Phone Camera -   55 Hub Cell Phone Camera -   56 Database -   57 Application Platform -   58 Web Server -   59 API Server -   60 Hub Array -   61 Hub ID -   62 Hub Longitude GPS Coordinate -   63 Hub Latitude GPS Coordinate -   64 Lookup Table -   65 Lookup Table Modification Module -   66 Application Server -   67 Application Services -   68 Web Services -   69 API Services -   70 Database Array -   71 Database ID -   72 Package #1 ID -   73 Package #1 Pickup Time -   74 Package #1 Pickup Longitude GPS Coordinate -   75 Package #1 Pickup Latitude GPS Coordinate -   76 Package #1 Destination Time -   77 Package #1 Destination Latitude GPS Coordinate -   78 Package #1 Destination Longitude GPS Coordinate -   79 Package #1 Size Unit -   80 Package History -   81 Package #1 Hub In Time -   82 Package #1 Hub Out Time -   83 Package #1 Hub Longitude GPS Coordinate -   84 Package #1 Hub Latitude GPS Coordinate -   85 Package #n ID -   86 Package #n Pickup Time -   87 Package #n Pickup Longitude GPS Coordinate -   88 Package #n Pickup Latitude GPS Coordinate -   89 Package #n Destination Time -   90 Correlation Operator -   91 Customer Printer -   92 Printer Label -   93 Machine Readable Code -   94 Customer Cell Phone Camera -   95 Customer Printer Wireless Connection -   96 First Trip Leg -   97 Second Trip Leg -   98 Third Trip Leg -   99 Fourth Trip Leg -   100 Store -   101 First Hub Geographic Region -   102 Second Hub Geographic Region -   103 Third Hub Geographic Region -   104 First Region First Package Delivery Location -   105 First Region Second Package Pickup Location -   106 First Region Third Package Delivery Location -   107 First Region N Package Delivery Location -   108 First Region Package Delivery Centroid -   109 Distance From Hub To First Centroid -   110 Second Region First Package Pickup Location -   111 Second Region Second Package Delivery Location -   112 Second Region Third Package Pickup Location -   113 Second Region N Package Delivery Location -   114 Second Region Package Delivery Centroid -   115 Distance From Hub To Second Centroid -   116 Third Region First Package Pickup Location -   117 Third Region Second Package Delivery Location -   118 Third Region Third Package Pickup Location -   119 Third Region N Package Delivery Location -   120 Third Region Package Delivery Centroid -   121 Distance From Hub To Third Centroid -   121 First Average Distance -   122 Driver's Registered Address -   123 First Driver Cell Phone -   124 Second Driver Cell Phone -   125 Third Driver Cell Phone -   126 First Driver Cell Phone Registered Address -   127 Second Driver Cell Phone Registered Address -   128 Third Driver Cell Phone Registered Address -   129 Entry Of The Checkout Transaction -   130 Trip -   131 Hub -   132 Selection Area -   133 Package Delivery Computing System -   134 GPS Receiver -   135 Wireless Data Transceiver -   136 Small Device Client Machines -   160 Driver Pane -   161 User Photo -   162 Name -   163 Support -   164 Dashboard -   165 Map -   167 Settings -   168 Home -   169 Border -   170 Locator Button -   171 Locator Selection -   172 Local Jobs Display -   173 Long Distance Display -   174 Mode Display -   175 Local Job Menu -   176 Local Job Selection -   177 Scroll -   178 Time -   179 Pay -   180 Route Map -   181 First Waypoint -   182 Second Waypoint -   183 Third Waypoint -   184 Fourth Waypoint -   185 Fifth Waypoint -   186 Sixth Waypoint -   187 Seventh Waypoint -   188 Eighth Waypoint -   189 Route Acceptance Button -   190 Map Directions -   191 Location Marker -   192 Job Details Selection -   193 View Selection Toggle -   194 Job Details -   195 First Route Option -   196 Second Route Option -   197 Third Route Option -   200 Long Distance Selection -   201 First Box Option -   202 Second Box Option -   203 Third Box Option -   204 Fourth Box Option -   205 Accept Option -   206 Origin Destination Indicator -   207 Driver Web Application -   208 City Indicator -   209 Final Destination Input -   210 Long-Distance Menu -   211 Hub Information Display -   212 Done Button -   213 Package Pickup Verification Panel -   214 Drop Off Completion Notice -   215 Job Completion Notice -   216 Arrival Pickup Interface -   217 Scan Button -   218 Pickup Confirmation Location -   219 Voice Button -   220 Scan Graphical Interface -   221 Manual Number Entry -   222 QR Code -   223 Drop-Off Menu -   224 Signature Option -   225 Door Drop-Off Option -   226 Nondelivery Verification Option -   227 Next Button -   228 Package Photograph -   229 Photography Interface -   230 Photo Thumbnail -   231 Camera Shutter Button -   232 Camera Selection Toggle Button -   233 Cardboard Box -   234 Retake Button -   235 Delivery Completion Screen -   236 Delivery Confirmation Address -   237 Package Pickup Confirmation List -   238 Package Delivery Confirmation List -   239 Delivery Rating -   240 Signature -   241 Stored Value Card Tracking Menu -   242 Coupon -   243 Coupon Machine-Readable Code -   244 Used Indication -   245 Used Coupon Button -   R1 Ratio Of Distance From Hub To Centroid To Distance Between Driver     And Package Delivery Centroid -   R2 Ratio of Distance Between Hub And Driver To Distance Between     Driver And Package Delivery Centroid -   R3 Ratio of Distance Between Hub And Driver Ratio To Distance     Between Driver And Package Delivery Centroid

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Glossary

GPS stands for global positioning system

VE stands for vehicle

ID stands for identification

API stands for application programming interface

QR stands for quick response code

The present invention is suited for crowd sourced package delivery with a package delivery computing system 133 that may include a server with a processor and a server storage device. Packages are picked up by drivers and delivered to either hubs 131 or directly to final delivery locations. Packages are also delivered from hubs to customers. Packages are associated with driver GPS. Driver GPS data is consolidated on a server. Each driver has a unique driver ID associated with that driver. The driver uses their cell phone with GPS to operate a driver application. The driver application tracks all of the packages that the driver is carrying. As seen in FIG. 1, a driver array 20 keeps track of all of the relevant information necessary for making deliveries. As seen in FIG. 2, the system is implemented on a network 50 such as the internet. The driver cell phone 51 is connected to the hub cell phone 52 and the server 53. The hub can be a commercial location such as a mailbox or mail processing storefront where packages are temporarily stored awaiting pickup by other drivers to deliver to end destination. A cell phone is given to the hub for tracking all of the packages at the hub. The hub therefore is like a driver in that a hub array 60 is also implemented, but the hub does not move and has a static GPS coordinate.

As seen in FIG. 1, when a driver picks up the package, the package has a package identifier such as a barcode, QR code or the like. The driver scans the package identifier with the camera on their cell phone when the driver picks up the package. The package identifier is associated to the driver ID. The package identifier can be a string and the driver ID can be a string. Both strings can be stored on an array together with the GPS location assuming that the array is defined to allow different types. The GPS location includes the latitude and longitude coordinates and can be expressed as decimal degrees, or degrees minutes seconds, as a number.

The driver ID 21 identifies the driver. The driver longitude GPS coordinate 22 identifies the longitude of the driver. The driver latitude GPS coordinate 23 identifies the latitude of the driver. The package #1 ID 24 identifies the first package. The package #1 destination latitude GPS coordinate 25 and the package #1 destination longitude GPS coordinate 26 identify the destination of the first package. The package #1 size unit 27 identifies the size of the package such as the number of cubic feet of the package. Package #2 ID 28 identifies the second package. Package #2 destination latitude GPS coordinate 29 and the package #2 destination longitude GPS coordinate 30 provides the final destination of the second package. Package #2 size unit 31 provides a size of the second package. Package #3 ID 32 identifies the third package. The third package also has a package #3 destination latitude GPS coordinate 33 and a package #3 destination longitude GPS coordinate 34 that can provide a final destination of the third package. The third package has a package #3 size unit 35 that identifies the size of the third package. The driver array continues to a package #n ID 36 identifying the final package. A package #n destination latitude GPS coordinate 37 and a package #n destination longitude GPS coordinate 38 identify the destination of the final package. Package #n size unit 39 identifies the size of the final package.

The driver array 20 may also have a package delivery centroid 40 which is an average location of all of the packages to be delivered. The package delivery centroid 40 can be calculated from the destination coordinates of all of the packages. Additionally, a hub location 43 can be stored in the driver array 20. The hub location 43 is preferably the hub nearest the centroid. The hub nearest centroid latitude GPS coordinate 44 and the hub nearest centroid longitude GPS coordinate 45 can be looked up from a table from the server.

As stated above, the driver cell phone 51 is connected to the hub cell phone 52 and the server 53 over a network 50. The package delivery centroid 40 can be compared to the hub location 43 to determine a distance from the hub location 43 to the package delivery centroid 40. When the hub distance from the hub location 43 to the location of the driver 22, 23 is known, it can be compared to the distance between the hub and the package delivery centroid 40. Thus, three distances can be compared, namely a distance between hub and driver 46, a distance between driver and package delivery centroid 47, and a distance from hub to centroid 48.

For example, as seen in FIG. 3, when the distance from hub to centroid 48 is within a set percentage R1 to the distance between driver and package delivery centroid 47 and the distance between the hub and driver 46 is similar to the distance between driver and package delivery centroid 47, the server can suggest to deliver the packages directly to the package end points, namely to the package #1 destination latitude GPS coordinate 25, package #1 destination longitude GPS coordinate 26, package #2 destination latitude GPS coordinate 29, package #2 destination longitude GPS coordinate 30, package #3 destination latitude GPS coordinate 33, package #3 destination longitude GPS coordinate 34, package #n destination latitude GPS coordinate 37, and package #n destination longitude GPS coordinate 38.

For example, on the other hand, as seen in FIG. 4, when the distance from hub to centroid 48 is smaller than a distance between the hub and driver 46 and less than the distance between driver and package delivery centroid 47 and a pop-up screen can appear on the driver cell phone application to instruct the driver to consolidate the package deliveries at the hub.

The server 53 can compare a distance from hub to centroid ratio to distance between driver and package delivery centroid R1 with a distance between hub and driver ratio to distance between driver and package delivery centroid R2 and a distance between hub and driver ratio to distance between driver and package delivery centroid R3. The server may have a lookup table 64 functioning as a rule table to make a determination of whether or not to send the deliveries to the hub, or directly to the destinations. For example, when R1 is similar to R2 and R3 as seen in FIG. 3, the lookup table 64 can instruct the driver to take the packages directly. Also, as seen in FIG. 4, when R1 is large and R2 is large, but R3 is close to 1, then the lookup table 64 can instruct the driver to drop off the packages at the hub.

As seen in FIG. 5, the hub array 60 has a hub ID 61 that identifies the hub. The hub array 60 also has a hub longitude GPS coordinate 62 and a hub latitude GPS coordinate 63. The hub array 60 also retains package information including package IDs, destination GPS coordinates and size units.

If the packages are dropped off at the hub, the hub cell phone 52 has a hub cell phone camera 55 that can scan the package. When the packages are dropped off at the hub, the driver can also scan the package with the driver cell phone camera 54 to verify that the packages have been dropped off at the hub. The driver array 20 is updated with new package information and the hub is updated with new package information.

As the system operates, a storage device having a database 56 on the server 52 maintain a log of all of the deliveries and timestamps all of the deliveries. The database 56 maintains statistical information regarding the delivery times of all of the packages and logs a distance from hub to centroid ratio to distance between driver and package delivery centroid R1 with a distance between hub and driver ratio to distance between driver and package delivery centroid R2 and a distance between hub and driver ratio to distance between driver and package delivery centroid R3. The server also maintains a log of the GPS information including the GPS coordinates of each delivery. The lookup table can then be updated by querying the database 56. Since the database 56 has delivery times and distances, the database 56 can determine delivery speed in units such as miles per hour. The server 52 updates the database 56 every time a package is picked up, dropped off, or handed off, when a driver or hub scans the package ID using the driver cell phone camera 54, or the hub cell phone camera 55.

A lookup table modification module 65 on the server 53 can continuously modify the lookup table including the values at which the distances and ratio of distances are presented. In this way, the lookup table is constantly being optimized by consolidated GPS data. For example, the lookup table modification module 65 can optimize for time in terms of delivery speed such as in miles per hour. The lookup table modification module can constantly correlate the distance from hub to centroid ratio to distance between driver and package delivery centroid R1 with a distance between hub and driver ratio to distance between driver and package delivery centroid R2 and with a distance between hub and driver ratio to distance between driver and package delivery centroid R3 to delivery speed in miles per hour so that each delivery has the ratios along with a score, namely the delivery speed in miles per hour. When the package is at the hub, the package movement stops and package delivery time is not counted. Similarly, time after the packages delivered is not counted. Only time when the package is moving on the road is counted.

Note that a GPS map may not be necessary for implementing the present invention since the present invention relies only on position data. Of course, the GPS data consolidation system can operate better with route optimization for example, however route optimization is not necessary to implement the core idea of the invention. The present invention can also use only one of the ratios, namely the distance from hub to centroid ratio to distance between driver and package delivery centroid R1 with the other ratios omitted.

Instead of dropping off packages at a hub, a first driver can hand off packages to a second driver. When drivers hand off packages to each other, both drivers can scan the packages with the driver cell phone camera 54 and thus confirm hand off of packages. During driver handoff, package information is transferred from the first driver array to the second driver array.

As seen in FIG. 6, whenever a package handoff is logged, the database retains a log of the events which may be logged in one or more database arrays 70 on the database. The database array 70 may include a database ID 71 as well as package history 80. The database ID 71 identifies the array in which package history is stored. Multiple database logs and files can be generated over time and the database ID 71 can be sequential if a number and can be a date for example.

The package history 80 of a particular package may include a package ID and timestamps, for example a first package in the system can have a package #1 ID 72. Package logs for a first package include a package #1 pickup time 73 with a package #1 pickup longitude GPS coordinate 74 and a package #1 pickup latitude GPS coordinate 75. The package #1 destination time 76 is also logged with the package #1 destination latitude GPS coordinate 77 and the package #1 destination longitude GPS coordinate 78, as well as the package #1 size unit 79. If the package spent time in a hub, the hub data would also be logged including a package #1 hub in time 81 and a hub out time 82 as two separate timestamps. The database also logs the package #1 hub longitude GPS coordinate 83 and the package #1 hub latitude GPS coordinate 84. The package history 80 of the particular database ID 71 continues for a set time, such as until the end of the day, until the last package n, at which a new database array can be is generated for the subsequent day, or week or month. Thus, the last package history 80 in the array has a package #n ID 85 with a package #n pickup time 86, package #n pickup longitude GPS coordinate 87, and package #n pickup latitude GPS coordinate 88. The package #n destination time 89 would also be included as well as all of the other data associated with the package #1 package history 80.

The lookup table modification module 65 has a correlation operator 90 such as a regression between the average package speed of packages and any ratio of distance from hub to centroid to distance between driver and package delivery centroid R1, ratio of distance between hub and driver to distance between driver and package delivery centroid R2, ratio of distance between hub and driver ratio to distance between driver and package delivery centroid R3. The ratios are logged when the driver picks up the last package pickup. The lookup table modification module can modify the lookup table on a daily basis for example when each particular database ID 71 is closed. Although the correlation operator 90 can be a more complicated three independent variable regression, the correlation operator 90 can also be a simplified linear regression between R1 and average package speed. The lookup table modification module 65 can compute an average package speed when it queries the package #1 destination time 76 minus the package destination time 76 subtracted by the hub out time 82 subtracted by the hub in time 81. The lookup table modification module 65 may generate a separate data table, covariance matrix and correlation matrix for example. The lookup table modification module 65 can suggest modifications to the lookup table which are then manually input by the user, or the lookup table modification module 65 can automatically make changes to the lookup table. It is preferred to have manual input by the user when the lookup table determines whether or not the packages are sent to a hub, handed off to another driver, or driven directly to the endpoints.

A more specific implementation can be seen in FIG. 7 showing a package delivery computing system 133 where the server 53 has an application platform 57. The application platform may host a web server 58 with web services 68 and an API server 59 with API services 69. The application server 66 may host application services 67. The application server 66 interacts with the database 56.

The driver cell phone 51, the hub cell phone 52 and the customer cell phone 49 preferably all include a GPS receiver 134 and wireless data transceiver 135. The driver cell phone 51, the hub cell phone 52 and the customer cell phone 49 can be replaced by other small device client machines for example.

The customer can have a customer cell phone 49 that transmits an order to the application platform 57 of the server 53 through the network 50. The customer can use the customer cell phone 49 with a small device web client. Customer printer 91 to print a printer label 92 that has a machine readable code 93 on the printer label 92. The machine readable code 93 relates to a package #1 ID 72 to allow the customer cell phone 49 to verify the customer cell phone camera 94. The customer printer 91 preferably includes a wireless capability for providing a customer printer wireless connection 95 to the customer cell phone 49. Once the customer scans the machine readable code 93, the application server 66 can enter the customer order and issue it to a driver for delivery. The customer cell phone 49 also includes a GPS for providing a starting location. Preferably, the printer label 92 has self-adhesive so that it adheres to the package or envelope being delivered. The printer label 92 can be printed on a standard A4 or 8.5″×11″ letter-size paper as well, but it is preferred to have a transparent plastic envelope for retaining the printer label 92 when regular office paper being used instead of a self-adhesive label. The transparent plastic envelope can retain the printer label 92 and allow the customer cell phone camera 94 to optically read the machine readable code 93 through the transparent plastic envelope. The transparent plastic envelope preferably includes a self adhesive backing on a transparent plastic envelope lower surface while also including a pocket opening to allow insertion of the printer label into the transparent plastic envelope.

In the case where a driver has delivered packages to a hub, those packages must then be delivered to their final destinations. Each hub can be initially assigned one or more hub geographic regions for delivery and pick up. Hub geographic regions can be arranged arbitrarily according to ZIP Code areas such as quadrants with the hub at the center, or can be user defined. As pickup or delivery requests are generated, batch jobs of multiple package deliveries or pickups can be created to minimize driving distance. A hub can consolidate pickups and deliveries within each hub geographic region until the hub has a predicted number of pickups in an area based on prior volume and time data stored in the database. The initial setting of the hub geographic regions allows grouping of pickups and deliveries.

For example, as seen in FIG. 8, in a first hub geographic region 101, second hub geographic region 102 and third hub geographic region 103 the hub may have a number of packages to be picked up from a variety of different regions. Each region can be assigned its own hub array 60. Each region may have a variety of different packages having pickups and deliveries. For example, a first hub geographic region 101 may have a first region first package delivery location 104, a first region second package pickup location 105, a first region third package delivery location 106 till a first region n package delivery location 107. Each GPS drop off or pick up location in the first hub geographic region 101 can be averaged to calculate a first region package delivery centroid 108 and thus allow calculation of a distance from hub to first centroid 109. The server can calculate a first average distance 116 from each package in the first hub geographic region 101 to the first region package delivery centroid 108. This allows the server to determine the first average distance 116 of the first group of packages. The server can then compare the first region package delivery centroid 108 with the centroid of the first region to determine if the packages are generally being delivered efficiently within the first region.

Similarly a second region first package pickup location 110, a second region second package delivery location 111, a second region third package pickup location 112 and a second region n package delivery location 113 can be analyzed to determine a second region package delivery centroid 114 and a distance from hub to second centroid 115. Again, the server can use the second region package delivery centroid 14 to determine an average distance from the hub. If the second region package delivery centroid 14 is consistently far from the centroid of the second region, the server can suggest a redefinition of the second region using historical data to optimize for a package delivery centroid that is at a center of the second region.

A third region can also be analyzed to determine if the third region is optimally defined. The server record a third region first package pickup location 116, a third region second package delivery location 117, a third region third package pickup location 118, and a third region n package delivery location 119 so as to calculate a third region package delivery centroid 120 and a distance from hub to third centroid 121. For example, if the distance from hub to third centroid 121 is consistently greater than twice the distance from hub to second centroid 115 or is greater than twice the distance from hub to first centroid 109, the server can generate an alert to suggest a modification of the geographic boundaries of the regions.

As the server tracks the average package distance from each of the region package delivery centroids for each delivery, the server can put packages into groups that minimize the average package distance from each region package delivery centroid. For example, if three package pickups or drop-off combinations A, B, and C were generated for a trip, and the average distance from the third region package delivery centroid 120 for combination A is 2.5 miles, for combination B is 2 miles and combination C is 3 miles, the server would select combination A and group packages into a combination A driver delivery trip.

As seen in FIG. 9, the server compares a distance from the hub to the first centroid 109 with a distance from hub to second centroid 115 to categorize the trip into a long-distance versus a short distance job for a driver. Jobs are groups of deliveries or pickups of packages. For example, distances over a certain mileage can be allocated to a long-distance job category.

A permanent pickup location can be established at a store as seen in FIG. 10 at a vendor location such as a store 100. The store 100 has a package distribution area at a selection area 132 so that driver cell phones that are in the selection area 132 can be selected to receive trip data with hub 131 identifying information including hub ID 61. The server 53 is configured not to select driver cell phones that are outside of the selection area 132. Trip data may include trip legs. For example, a first trip leg 96 begins from the hub and ends at a first package pickup or drop-off 104. A second trip leg 97 extends between the first and second package pickup or drop-off The third trip leg 98 extends between the third and fourth package pickup or drop-off. A fourth trip leg 99 can extend to the nth or fifth package delivery location.

The server 53 also can define a hub 131 as located at a driver cell phone selection area 132 such as a store that is a retail or wholesale store. It is preferred that the hub location in the selection area 132 be defined as a hub nearest centroid latitude GPS coordinate 44 and a hub nearest centroid longitude GPS coordinate 45. The server 53 can store in the database, the selection area 132 defined as an area which is a range of GPS coordinates and the GPS coordinates of the hub nearest the selection area 132.

The selection area 132 can also be defined on the server 53 as a region within a set distance from a hub 131 and also includes a customer database with customer addresses and other customer information such as customer membership information and prior purchase information. The customer database can be physically located on the server 53 or can be physically located at the store 100 connected to the cloud network 50. The customer database can also include a membership at a store for example that provides a discount on merchandise or other perks. The hub 131 can be a distribution point and origin of trips. The customer can be assigned a discount at checkout in exchange for delivery of packages to package destinations.

The server 53 database 56 can store the GPS coordinates defining the selection area 132 which could be defined as a checkout area of the store 100. As customers check out, the customers that have signed up to be drivers can receive a delivery job for a defined number of packages. A customer can be a driver and have a driver cell phone camera 54 at the hub 131 which is at the store, the store can assign a delivery job for the driver based on the driver cell phone 51 registered address 122. The server can compare the registered address 122 to a package delivery centroid 40, such as a first region package delivery centroid 108 and also calculate a distance from hub to first centroid 109. Multiple driver cell phones can be registered to the server 53 and be in communication with the server 53 when they are within the selection area 132. For example, a first driver 123 has a first driver's registered address 136, a second driver 124 has a second driver's registered address 137, and a third driver 125 has a third driver's registered address 138. The server can send a trip to the driver cell phone 51 with a registered address 122 closest to the package delivery centroid 108. As seen in FIG. 10, the first driver cell phone registered address 126 is the closest to the package delivery centroid 40, so the server 53 transmits a trip 130 to the first driver cell phone 123.

The server 52 can be configured to generate a trip 130 upon entry of a checkout transaction 129. For example, if the customer spends $50 and has signed up to be a driver via a web interface on the driver cell phone 51, the server can generate a trip for the driver and offer a discount for delivery of packages. The application server 66 can calculate a distance from hub to centroid 48 to determine the discount amount proportional to the distance from hub to centroid 48. During trip generation, a wide variety of trip optimization algorithms can provide a navigation. The navigation system can be separate from the application platform 57 or can be a separate cell phone application on the first driver cell phone 123. The hub 131 can store packages in lockers at a designated pickup area using a system, for example as described in electronically operable package lockers such as described in U.S. Pat. No. 6,690,997 by inventor Michael Rivalto, issued Feb. 10, 2004, entitled System for Automated Package Pickup and Delivery the disclosure of which is incorporated herein by reference.

The server can collate package destinations according to geographic regions such as a first hub geographic region 101, a second hub geographic region 102, and a third hub geographic region 103 until a preset number of packages and then send the trip notice to the driver cell phone 51. The driver cell phone camera 54 takes photos of the packages upon pickup to log the packages into the driver array 21.

As seen in FIG. 11, a driver web application 207 can be organized as a graphical user interface on a driver cell phone with a touchscreen for example. The driver web application 207 preferably includes a driver pane 160 which shows driver information and provides a user interface for updating information and coordinates. The driver pane 160 can be a pop-up window with a photograph 161 of the driver. The photograph 161 can be accompanied by a driver name 162 to provide a profile. The driver pane 160 may have a home 168 selection that allows the user to enter a driver registered address 122. The driver registered address 122 is preferably stored as GPS coordinates for example. The dashboard 164 can provide a summary of data retrieved from the database regarding the driver account. The vehicle selection 166 can provide a graphical user interface to allow the driver to update the driver vehicle. The driver vehicle 166 will also note the available capacity of the vehicle such as in discrete package units or in cubic feet or cubic meters for example. The user can change the settings in the driver vehicle 166 to notify the server of any changes to the vehicle. Alternatively, the user vehicle may be changed to pedestrian or bicycle.

The settings 167 can provide the user with customization options for the web application such as application notifications on the driver cell phone 51. A support selection button 163 can activate a communication means to user support such as voice or text communication protocol. The locator button 170 can display a map or center the map to the driver cell phone 51. The map 165 preferably reaches the edge of the screen of the driver cell phone 51 not including a border 169.

As seen in FIG. 12, a locator selection 171 occurs when the user presses the locator button 170 and can activate a navigation suggestion and may close the driver pane 160 which minimizes to a round button with horizontal lines denoting a menu selection.

As seen in FIG. 13, pressing the locator selection 171 can be configured to open a local job display 172 selection and a long-distance display 173 selection. As seen in FIG. 14, the mode display 174 can show a local job selection mode. The local job menu 175 may be selected with a local job selection 176, which can be an upward swipe of the local job menu 175 tab for expanding the local job menu 175 tab.

As seen in FIG. 15, the local job menu 175 can have a list of local jobs including the estimated time 178, and the pay rate 179 which are within a first hub geographic region 101. The first hub geographic region 101 can be displayed on a field above the local jobs menu 175. The user can scroll 177 such as by pressing and dragging to available local jobs. The user can execute a local job selection 176 by pressing a selection button in the same row as the local job listing. As seen in FIG. 16, the local job selection 176 may also have an accept button which can be selected as well.

As seen in FIG. 17, The server or driver cell phone can generate a route map 180 by a variety of different route optimization methods. The server or driver cell phone can optimize the waypoints such as a first waypoint 181, a second waypoint 182, a third waypoint 183, a fourth waypoint 184, a fifth waypoint 185, a sixth waypoint 186, a seventh waypoint 187 and an eighth waypoint 188. The waypoints can be package delivery locations 104, package pickup locations 105, the driver registered address 122, a hub 131, or package transfer locations. The user can review the route before accepting the route. A route acceptance button 189 confirms the acceptance of the route. As seen in FIG. 18, optional map directions 190 can guide the user. A location marker for 91 identifies the location of the driver cell phone 51. The server or driver cell phone can provide a first route option 195, a second route option 196 or a third route option 197. The view selection toggle 193 can change between a three-dimensional and two-dimensional overhead view. The user can secure a job details selection 192 operation on the job detail menu 194 to open the job details menu.

As seen in FIG. 19, the job detail menu 194 can list an address 191 first waypoint 181 which can correspond to a package #1 destination latitude GPS coordinate 25 and a package #1 destination longitude GPS coordinate 26. The package #1 ID 24 can be a string that corresponds to the address instead of a number. Similarly, the second waypoint 182 can correspond to a package #2 destination latitude GPS coordinate 29 and a package #2 destination longitude GPS coordinate 30. The third waypoint can correspond to a third GPS coordinate, and the fourth waypoint can correspond to a fourth GPS coordinate.

As seen in FIG. 20, the long-distance selection 200 of the long-distance display 173 activates a destination input which has a state input and a city input. The final destination 209 can be compared with a package delivery centroid of a long-distance trip. As seen in FIG. 21, a city indicator 208 can identify the city and the long-distance menu 210 provides the city to city indicator. When the user executes a long-distance selection 200 on the long-distance menu 210, the long-distance menu 210 toggles to a job list as seen in FIG. 22. The job list can have a number of jobs with a first box option 201, a second box option 202, a third box option 203 and a fourth box option 204 for example. The job list will conform to the size of the vehicle. For example, a small coupe will see 3 boxes, a minivan driver will see 10 boxes and a motorcycle or bicycle won't see any. Delivery notes can also be provided in the long-distance menu 210.

As seen in FIG. 23, the user can execute the accept option 205 and select the fourth box option for delivery of four boxes for a total of $160. The long-distance menu 210 can have a origin destination indicator 206. As seen in FIG. 23, the origin destination indicator 206 is Portland to Seattle. The origin destination indicator 206 is below the city indicator 208. The accept option 205 can be secured with a graphical user interface software button in the shape of an elongated pill.

Once the driver cell phone travels from the first city to the second city, the driver cell phone can provide a local navigation. As seen in FIG. 24, the map directions 190 can show a location marker 191 and a route to a first waypoint 181. A local job selection 176 can activate job details 192. A location marker for 91 identifies the location of the driver cell phone 51. navigation suggestion for the user and alternatively display the trip.

As seen in FIG. 25, the user can activate the job details selection 192 while viewing map directions 190. As seen in FIG. 26, the user can review the hubs in Portland and Seattle to obtain hub information on a hub information display 211 on the job details 194 window.

As seen in FIG. 27, the driver cell phone camera can scan the identifying labels on the boxes and verify that packages have been picked up. A package pickup verification panel 213 allows the user to verify the number of packages. The package pickup verification panel 213 also includes a done button 212 that the user presses when the last package in a job has been picked up. When the user presses the done button 212, the driver cell phone 51 verifies the packages with the server. As seen in FIG. 28, the driver cell phone can display the location of the hubs in Portland and Seattle on the map 165.

As seen in FIG. 29, the driver cell phone can provide a map with map directions 190 to drop off the packages to a hub. As seen in FIG. 30, the driver cell phone camera can scan the packages once the packages are at the hub to confirm delivery of the packages. The driver cell phone can display a drop off completion notice 214. The user presses the next button for a job completion screen 215 that provides a job completion notice as seen in FIG. 31. The driver cell phone can then display a package pickup map display as seen in FIG. 32.

As seen in FIG. 33, once the driver arrives at the pickup location, the driver receives an arrival pickup interface 216 that has a scan button 217, a pickup confirmation location 218, and a voice button 219. The voice button 219 can be connected to make a phone call or open a voice chat to the customer. The arrival display scan button 217 activates the scan graphical user interface. As seen in FIG. 34, the driver cell phone camera has a screen that displays a scan graphical interface 220 scans the package identifier seen as a QR code. For example, if the first package is being scanned, the server compares the driver cell phone location with the package #1 pickup longitude GPS coordinate 74 and the package #1 pickup latitude GPS coordinate 75. When the GPS location data matches, a package checklist populates with an additional package entry when the driver cell phone camera scans an additional package identifier. The package identifier can be the package #1 ID 24 for example. The manual number entry 221 can receive the package identifier. The printer label 92 can have a QR code 222. The QR code 222 verifies packages which are displayed in a package pickup confirmation list 237. The user can press the done button 212 after verifying the number of packages.

As seen in FIG. 35, a drop off menu 223 can be provided when a package needs to be dropped off. A package drop off selection menu can show package delivery verification options. A first package delivery verification option can be by signature option 224. A second package delivery verification option can be by door drop off option 225. If the package cannot be delivered, a nondelivery verification option 226 verifies package nondelivery. After selecting the package drop off option, the user confirms with the next button 227.

As seen in FIG. 36, the door drop off option uses the cell phone camera to take a package photograph 228 by advancing to a photography interface 229. The driver cell phone camera has a photo frame that takes a photograph of the location of the package after activation of the camera shutter button 231. A thumbnail of the photo can be transmitted to the database for storage and also transmitted to the customer cell phone. The photo thumbnail 230 can be displayed next to the camera shutter button 231. Optionally, a camera selection toggle button 232 can provide different cameras if the driver cell phone has more than one camera. Preferably, the photograph 228 includes the photograph of the printer label 92 visible on the package, shown as a cardboard box 233.

As seen in FIG. 37, the photography interface may include a DONE button 212 and a RETAKE button 234. After the user presses the DONE button 212, the driver cell phone 51 displays a delivery completion screen 235 as seen in FIG. 38. The delivery completion screen provides the final delivery address and the package delivery history to display a delivery confirmation address 236. The delivery completion screen 235 also provides a package delivery confirmation list 238.

As seen in FIG. 39, the delivery completion screen advances to the job completion notice 215 once the entire job is completed. The job is a series of waypoints representing deliveries or pickups. As seen in FIG. 40, the alternative to the door drop off option is the signature option 224. A customer can sign for the package and then press next 227 or clear to sign again. The customer signature 240 is uploaded to the server and stored in the database. The customer can also rate the delivery with a delivery rating that is uploaded to the server. The delivery rating 239 can be a number such as an integer between one and five. The server can calculate an average delivery rating for a driver and store the average delivery rating in the database. After each completed job, the server can calculate an additional payment in the form of an additional payment, or an additional discount percentage based on the average delivery rating in the database. The database can also store profit margins of different products that when purchased by a driver can provide greater job payment.

The driver cell phone web application preferably allows advance calendar input for out-of-town trips. The driver can schedule delivery availability for a particular out-of-town trip. The driver delivery availability is stored in the database and along with the vehicle space units. The application server 66 can decrease prices to a discounted rate when drivers pre-schedule delivery availability.

The application server is configured to eliminate the hub as much as possible by using either direct deliveries or by package transfers between drivers. For example, when a hub is not available, drivers can deliver to other drivers for a package transfer. A driver web application can notify two driver to meet at a common location for a package transfer. When drivers enter in their log distance trips, the application coordinates a package transfer if two driver schedules match in location and time.

The driver can be a person driving a vehicle, an autonomous vehicle, or an unmanned multi rotor aerial drone. When a drone is used, the user can use the driver cell phone to preprogram the drone and to supply instructions to the drone via a bluetooth interface.

As seen in FIG. 41 a driver cell phone can show a store credit for allowing the driver to check on driver compensation via the driver cell phone. The value of a stored value card can be stored on the server and can be displayed on the driver cell phone 51 in a stored value card tracking menu 241. The stored value card tracking menu 241 can also include display of coupons 242 such as a coupon which has a coupon machine-readable code 243. The use coupon button 245 allows a driver to use the coupon at the store when purchasing products at the participating store. As seen in FIG. 42, the driver cell phone can show a redeemed store credit. A variety of different compensation can be provided to the driver, such as gift cards, coupons and discounts. After using the gift card or coupon, the used indication 244 is displayed on the stored value card tracking menu 241. Preferably, the stored value card tracking menu 241 can provide a scrolling display 246 of the various coupons that are stored on the server 53. A store identifier 247 can be a logo or a picture of a storefront.

FIG. 43 is flow chart diagram of the driver to driver handoff procedure.

As seen in FIG. 44, a graphical quadrant diagram can be displayed to an administrator in real time that has access to the server. Allocation of trips in four geoquadrants could correspond to first hub geographic region 101, second hub geographic region 102, a third hub geographic region 103, and a fourth hub geographic region. A serviceable area such as a city or parts of city can be divided into quadrants. For example, H1, H2, H3, to Hn can denote hubs nearest to or within each quadrant. They could be physically same or different hubs. O1, O2, to On can denote the delivery package locations that could for example correspond to a first region first package delivery location 104, a first region second package pickup location 105, a first region third package delivery location 106, and a first region n package delivery location 107. D1, D2, to Dn can denote destinations of the delivery packages. Job #1, Job #2, to Job #n can refer to a number of delivery jobs that are in process. As seen in FIG. 44, a four packages are created in Quadrant 1 out of which two need to be routed to Quadrant 2 and two to Quadrant 4. By pre sorting the packages based on destination, the number of jobs created are reduced to two instead of having to check them into the nearest hub first. These jobs can then “handed off” to another driver via the above mentioned procedure. The graphical quadrant diagram can display the package delivery status information for an administrator. Preferably, the graphical quadrant diagram is graphically overlaid on a map so that the administrator has a quick reference. Also, instead of letters or in conjunction with letter icon graphics, graphical icons such as packages and cars can also be displayed on the graphical quadrant diagram. 

1. A package delivery system comprising: a. a package delivery computing system including a server with a processor and a server storage device; b. driver cell phones, wherein the driver cell phones include a first driver cell phone, wherein the first driver cell phone has a driver cell phone camera, a GPS receiver and a wireless data transceiver, wherein the GPS receiver receives a first driver GPS location and transmits it to the server; c. a machine readable code affixed to a first package, wherein the machine readable code corresponds to a package #1 id, a package #1 destination latitude GPS coordinate, a package #1 destination longitude GPS coordinate, and a package #1 size unit on the server storage device, wherein the driver cell phone is configured to read the machine readable code via the driver cell phone camera, wherein the driver cell phone communicates with the server over a network; d. a hub coordinate defined on the package delivery computing system; and e. a driver array stored on the server storage device, wherein the driver array corresponds to the first driver cell phone and includes a driver ID, a driver longitude GPS coordinate, and a driver latitude GPS coordinate received from the first driver GPS location.
 2. The package delivery system of claim 1, wherein the storage device further includes a database, wherein the database stores at least one driver array, wherein the at least one driver array includes: a driver id, a driver longitude GPS coordinate, and a driver latitude GPS coordinate.
 3. The package delivery system of claim 2, wherein the at least one driver array further includes: a package #2 id, a package #2 destination latitude GPS coordinate, a package #2 destination longitude GPS coordinate, a package #2 size unit, a package #3 id, a package #3 destination latitude GPS coordinate, a package #3 destination longitude GPS coordinate and a package #3 size unit.
 4. The package delivery system of claim 1, wherein the package delivery system is configured with a selection area, wherein the server selects the first driver cell phone when the server receives a first driver GPS location from the first driver cell phone that is in the selection area.
 5. The package delivery system of claim 1, wherein the package delivery computing system calculates a package delivery centroid from a group of packages and compares the package delivery centroid to a driver registered address for matching a driver to a group of packages to make a job.
 6. The package delivery system of claim 1, wherein the first driver cell phone is configured to display a driver credit.
 7. The package delivery system of claim 1, wherein the driver cell phones include a second driver cell phone, wherein the package delivery computing system is configured to arrange a package transfer of packages from a first driver cell phone location to a second driver cell phone location.
 8. The package delivery system of claim 7, wherein the storage device further includes a database, wherein the database stores at least one driver array, wherein the at least one driver array includes: a driver id, a driver longitude GPS coordinate, and a driver latitude GPS coordinate.
 9. The package delivery system of claim 8, wherein the at least one driver array further includes: a package #2 id, a package #2 destination latitude GPS coordinate, a package #2 destination longitude GPS coordinate, a package #2 size unit, a package #3 id, a package #3 destination latitude GPS coordinate, a package #3 destination longitude GPS coordinate and a package #3 size unit.
 10. The package delivery system of claim 7, wherein the package delivery system is configured with a selection area, wherein the server selects the first driver cell phone when the server receives a first driver GPS location from the first driver cell phone that is in the selection area.
 11. The package delivery system of claim 7, wherein the package delivery computing system calculates a package delivery centroid from a group of packages and compares the package delivery centroid to a driver registered address for matching a driver to a group of packages to make a job.
 12. The package delivery system of claim 7, wherein the first driver cell phone is configured to display a driver credit. 